package com.yxx.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxx.entity.Role;
import com.yxx.entityModel.vo.query.RoleQuery;
import com.yxx.entityModel.vo.response.RoleResponse;
import com.yxx.entityModel.vo.response.UserRoleResponse;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author yuxiangxun
 * @date 2025/1/19
 * @apiNote
 */
@Repository
public interface RoleMapper extends BaseMapper<Role> {
    /**
     * 根据用户id查询用户角色
     *
     * @param userId 用户id
     * @return 角色
     */
    List<String> selectRoleListByUserId(@Param("userId") Object userId);

    /**
     * 查看用户角色选项列表
     * @return
     */
    List<UserRoleResponse> selectUserRoleList();

    /**
     * 查询后台角色数量
     * @param roleQuery
     * @return
     */
    Long selectBackRoleCount(@Param("param") RoleQuery roleQuery);

    /**
     * 查询后台角色列表
     * @param roleQuery
     * @return
     */
    List<RoleResponse> selectBackRoleList(@Param("param") RoleQuery roleQuery);
}
